In a traditional meaning, a “form” is a printed or typed document with blank spaces for insertion of required or requested information. A form is convenient for communication, for example, from an organization to a customer. Taking an invoice document as an illustrative example, the document is a filled-in form. The form contains a standardized portion for defining name and date fields (i.e. the “form”) and a specialized portion for the particular name and particular date. With the advent of computer technology and the use of computer applications either by the organization or by the person, electronic forms have become widespread.
Organizations use business application programs to organize information flow within the organization or to communicate to and from the organization. Application programs are, for example, programs to assist customer relationship management (CRM), finance management, and human resource management. Although application programs differ from one another and are often customized to the organization, it is common for most of them that information leaving the organization in a final document is on a traditional medium, such as paper.
Often, the documents on paper are invoices, delivery notes, reminder letters, purchase orders, checks, or customs declarations. For example, an invoice has pages (e.g., sheets of paper), text areas (e.g., for printing positions to be invoiced, often in tables; greetings to the recipient), an address area (e.g., for printing recipients' address), and a graphic area (e.g., for printing a logotype of the sender).
Layout definitions comprise, for example, page breaks, line breaks, fonts indicators, position information, indent, tabulators, protection against line breaks in paragraph, and others.
Designing forms no longer require the designer to be computer-language literate. He or she benefits from builder software with a graphical interface such as, for example, the “Smart Forms” software, commercially available from SAP AG, Walldorf (Baden), Germany.
At a first time point, the designer creates a new form by a so-called “form builder”, a computer program that resembles a commercially-available text and image processing program.
At a second, later time point, an output program reads data from the application program, instantiates the form, and prints the documents or generates an XML-output for displaying the document by a web browser. The output program receives the data via a predefined form-interface from the application program.
So far, using forms and documents as described above technically only allows unidirectional communication. In other words, the document (and the information embodied thereon) goes from the organization to the customer. However, communication in the opposite direction is often desired as well. There is an ongoing need to provide form-defining software that allows forms with bi-directional communication capacity.